package org.pp.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface SearchField {

    boolean orJoin() default false;

    /**
     * 对应的搜索数据库字段名
     * @return
     */
    String value();

    /**
     * 值匹配正则才执行搜索，就失去意义了
     * @return
     */
    String pattern() default "";

    /**
     * 支持查询匹配操作符号，默认为=精确匹配
     * =  ------ eq
     * >  ------ gt
     * >= ------ ge
     * <  ------ lt
     * <= ------ le
     * != ------ ne
     * %  ------ like
     * %_ ------ likeLeft
     * _% ------ likeRight
     * ~  ------ in
     *
     * 如果 为 {} 表示全允许
     * @return
     */
    String operator() default "=";
}